Systems and methods for displaying and controlling a remotely executed application on a display of a vehicle

ABSTRACT

Systems and methods for displaying and controlling a remotely executed application on a display of a vehicle are disclosed. A method may include: receiving, by one or more processors, one or more video signals from one or more video sources onboard the vehicle; receiving, by the one or more processors, at a client module, a video signal including an image or display of the application executing on a remote server through a network; combining, by the one or more processors, via a video router, the received one or more video signals from the one or more video sources onboard the vehicle and the video signal including the image or display of the application executing on the remote server; and selectively displaying, by the one or more processors, on a display of the vehicle, the video signal including the image or display of the application executing on the remote server.

TECHNICAL FIELD

Various embodiments of the present disclosure generally relate tonetwork-connected vehicles and applications and, more particularly, tosystems and methods for displaying a remotely executed application on adisplay of a vehicle.

BACKGROUND

Browsing the Internet, using applications, and/or running programs in avehicle, such as an aircraft, is currently possible via handhelddevices, such as tablet devices or mobile computing devices (e.g.,laptops). For example, pilots and crew of aircraft may browse websitesusing iPads or electronic flight bags (EFBs) for information relevant tothe flight path of the aircraft or other information. Pilots and crewmay also use such devices for running applications and/or other programsthat perform various tasks and provide information related to thevehicle to the pilots and crew. However, security concerns have renderedhosting a browser and certain applications or programs (e.g., includingwebsite features/data) on high design assurance level (DAL) systems(e.g., safety-critical systems) difficult or impractical. For example,onboard systems may require software to be certified before beinginstalled on the vehicle and such a browser or application may bedifficult to certify due to the constant churn of application, browser,and website features/data. Hosting the software that allows access tothis information or enables running these application or programs mayalso expose the core avionics to cyber-security risks that can only beaddressed by updating each vehicle individually, which may be atime-consuming process. Further, hosting a browser, application, and/orprogram on the vehicle in a lower DAL system and piping the video to adisplay in the vehicle (e.g., in the cockpit of an aircraft) may stillinclude difficulties in updating.

The present disclosure is directed to overcoming one or more of theseabove-referenced challenges. The background description provided hereinis for the purpose of generally presenting the context of thedisclosure. Unless otherwise indicated herein, the materials describedin this section are not prior art to the claims in this application andare not admitted to be prior art, or suggestions of the prior art, byinclusion in this section.

SUMMARY OF THE DISCLOSURE

According to certain aspects of the disclosure, systems and methods aredisclosed for displaying a remotely executed application on a display ofa vehicle.

In one embodiment, a computer-implemented method for displaying aremotely executed application on a display of a vehicle is disclosed.The method may include: receiving, by one or more processors, one ormore video signals from one or more video sources onboard the vehicle;receiving, by the one or more processors, at a client module, a videosignal including an image or display of the application executing on aremote server through a network; combining, by the one or moreprocessors, via a video router, the received one or more video signalsfrom the one or more video sources onboard the vehicle and the videosignal including the image or display of the application executing onthe remote server; and selectively displaying, by the one or moreprocessors, on a display of the vehicle, the video signal including theimage or display of the application executing on the remote server.

In another embodiment, a system for displaying a remotely executedapplication on a display of a vehicle is disclosed. The system mayinclude: a vehicle; one or more video sources located onboard thevehicle; a display onboard the vehicle; a remote server located offboardthe vehicle; a video router onboard the vehicle and in communicationwith the display; and one or more processors in communication with thevideo router, the one or more processors configured to: receive one ormore video signals from the one or more video sources located onboardthe vehicle; receive, at a video module, a video signal including animage or display of an application executing on the remote serverthrough a network; combine, via the video router, the received one ormore video signals from the one or more video sources located onboardthe vehicle and the video signal including the image or display of theapplication executing on the remote server; and selectively display onthe display of the vehicle, the video signal including the image ordisplay of the application executing on the remote server.

In yet another embodiment, a computer-implemented method for displayinga remotely executed application on a display of a vehicle is disclosed.The method may include: receiving, by one or more processors, one ormore video signals from one or more video sources; receiving, by the oneor more processors, at a client module, a video signal including animage or display of the application executing on a remote server througha network; combining, by the one or more processors, via a video router,the received one or more video signals from the one or more videosources and the video signal including the image or display of theapplication executing on the remote server; receiving, by the one ormore processors, a selection of one or more of the video signals from afirst user input; based on the received selection, displaying, by theone or more processors, on a display of the vehicle, the video signalincluding the image or display of the application executing on theremote server; receiving, by the one or more processors, a second userinput from a user; and controlling, by the one or more processors, theapplication executing on the remote server based on the received userinput.

Additional objects and advantages of the disclosed embodiments will beset forth in part in the description that follows, and in part will beapparent from the description, or may be learned by practice of thedisclosed embodiments. The objects and advantages of the disclosedembodiments will be realized and attained by means of the elements andcombinations particularly pointed out in the appended claims.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate various exemplary embodiments andtogether with the description, serve to explain the principles of thedisclosed embodiments.

FIG. 1 depicts a block diagram of a system for displaying a remotelyexecuted application on a display of a vehicle, according to one or moreembodiments.

FIG. 2 depicts a network architecture for displaying a remotely executedapplication on a display of the vehicle of FIG. 1, according toembodiments of the present disclosure

FIG. 3 depicts a block diagram of an exemplary video module of thenetwork architecture of FIG. 2, according to one embodiment.

FIG. 4 depicts a block diagram of the exemplary video module, accordingto another embodiment.

FIG. 5 depicts a flowchart of a method for displaying a remotelyexecuted application on a display of a vehicle of the system of FIG. 1.

FIG. 6 depicts a high-level functional block diagram of an exemplarycomputer device or system, in which embodiments of the presentdisclosure, or portions thereof, may be implemented.

DETAILED DESCRIPTION

The following embodiments describe systems and methods for displaying aremotely executed application on a display of a vehicle. As describedabove, there is a need to enable application interaction on a forwarddisplay (e.g., a cockpit display) or other type of display (e.g., atouchscreen interface unit, satellite data unit display, or the like) ofa vehicle. In general, the present disclosure is directed to displayingan application on a display of a vehicle despite the applicationexecuting remotely from a computing device including the display of thevehicle (e.g., on a separate device of the vehicle and/or on a remote,ground-based, or other cloud server). As used herein, an application isa program or group of programs designed for end users and may include aset of instructions, modules, and/or procedures that allow for a certaintype of computing device operation. Applications may include a browseror a window allowing interaction with the application or program.Application may also include a video signal from a video source, such asa camera. Throughout this disclosure, “application” and “browser” may beused interchangeably.

Embodiments of the present disclosure may provide for hosting thebrowser on the ground and “piping” video of the browser and controlinformation for manipulating the browser through an IP connection to thevehicle, e.g., via a novel client module. The browser may include awindow of information displayed on the display of the vehicle. Videocompression technology, such as PC over IP (PCoIP) may enable streamingonly the changed pixels over an IP link and recomposing the image on thevehicle. A video router, such as a video multiplexer (mux), may enableselecting among multiple video inputs (e.g., from cameras or other videosources onboard the vehicle). The client module may be included on theexisting video router and combined with existing graphics modules andexternal display onboard the vehicle. In some embodiments, the clientmodule may be included in a separate hardware component in communicationwith the video router, graphics module, and display.

The video compression technology may also provide a means for theoperator (e.g., pilot) to select between an internal source (e.g.,onboard cameras or a maintenance computer), or a video path to a groundbased server for displaying the browser on the display in the vehicle.For example, the router may route the PCOIP stream to each of the routeroutputs for display on the display of the vehicle. Further, any of theinputs (e.g., video signals from the onboard cameras) may be streamed tothe ground via the PCOIP input port. Thus, systems and methods of thepresent disclosure may enable two-way video and audio transmissionbetween the vehicle and the ground server.

Embodiments of the present disclosure may enable both local selection ofa video source to display on the display of the vehicle and also enableremote selection of a video/audio source to pipe down to the ground(enabling remote security and remote maintenance services). Further,remote actions may be initiated from the ground via output discretes orother I/O interfaces supplied by the router. Embodiments may also enablevideo chat from the vehicle to the ground or between a mechanic andmaintenance personnel. The ground server may record the video signalsreceived from the vehicle. Further, the two-way video and audiotransmission may enable information content to be sent to the vehiclevia the browser. For example, maps, new travel plans (e.g., flightplans), the latest charts, weather, notice to airmen (NOTAMs), createdprojections, what-if scenarios, adjustments to the travel plan,performance calculations, three-dimensional (3D) previews of approaches,access to live airport cameras, special mission information, and/or maplayers may be sent to the vehicle via the browser. Further, hosting thebrowser on the ground, or remote from the vehicle, may provide morestorage and content capabilities with less accessibility constraintsthan hosting on the vehicle itself.

The subject matter of the present description will now be described morefully hereinafter with reference to the accompanying drawings, whichform a part thereof, and which show, by way of illustration, specificexemplary embodiments. An embodiment or implementation described hereinas “exemplary” is not to be construed as preferred or advantageous, forexample, over other embodiments or implementations; rather, it isintended to reflect or indicate that the embodiment(s) is/are “example”embodiment(s). Subject matter can be embodied in a variety of differentforms and, therefore, covered or claimed subject matter is intended tobe construed as not being limited to any exemplary embodiments set forthherein; exemplary embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware, or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of exemplary embodiments in whole or in part.

The terminology used below may be interpreted in its broadest reasonablemanner, even though it is being used in conjunction with a detaileddescription of certain specific examples of the present disclosure.Indeed, certain terms may even be emphasized below; however, anyterminology intended to be interpreted in any restricted manner will beovertly and specifically defined as such in this Detailed Descriptionsection. Both the foregoing general description and the followingdetailed description are exemplary and explanatory only and are notrestrictive of the features, as claimed.

Referring now to the appended drawings, FIG. 1 depicts a block diagramof a system 100 for displaying a remotely executed application on adisplay of a vehicle. As shown in FIG. 1, system 100 may include aground station 110 and one or more vehicles 120 in communication witheach other via a network 105. Network 105 may include, for example,satellite communication, ground-based very high frequency (VHF)datalinks, Wi-Fi, long term evolution (LTE), cellular (e.g., 4G, 5G, orthe like) Bluetooth, or any other communications network. Ground station110 may include remote servers, such as a web server 112 and anapplication server 114. Web server 112 and/or application server 114 mayalso include cloud-based servers executed in a cloud computingenvironment and/or may include any other type of physical servers,virtual servers, or remote servers. As used herein, remote servers areservers located and/or executed offboard from vehicle 120. Web server112 may communicate with a network, such as the Internet, for providinga connection to the World Wide Web (“the Web”) or any private or publicserver that enables use of remote application or programs and/or two-wayvideo and audio communications. For example, web server 112 may enableusers to browse the Web for web pages to access, view, and receiveinformation content, via a browser. Web server 112 may also enable usersinteract with applications to access, view, and receive informationcontent from the applications.

As described above, the present disclosure is directed to embodiments inwhich an application that is displayed onboard a vehicle (e.g., anaircraft) may be hosted offboard, e.g., on application server 114.Application server 114 may be in communication with web server 112through, for example, a public or private network. The application maybe, for example, a browser that is able to access information on the Webvia web server 112. For example, the application, or browser, mayprovide a window of information displayed on a display 121 (shown inFIG. 2) of the vehicle 120. Accordingly, application server 114 mayprovide information content to a user through the Web or other network.The information content may include information relevant to vehicle 120,such as, for example, obstacle detection information, charts, weather,notices to airmen (NOTAMs), projections, what-if scenarios, travel plan(e.g., flight plan), adjustments to the travel plan, or any otherinformation that may be relevant to an operator of the vehicle 120.

The application server 114 may also provide a video signal to vehicle120 from a video source offboard the vehicle 120. For example,application server 114 may be in communication with one or more videosources (e.g., cameras) and may receive one or more video signals fromthe one or more video sources. The application server 114 may thenroute, or send, the video signals to the vehicle 120 for display on thevehicle 120, as detailed below. It is understood that web server 112 andapplication server 114 may include separate servers and/or may beincluded in a single server. Application server 114 may include a remotedisplay protocol encoder, such as PC over IP (PCoIP), for videocompression and hosting the application. The remote display protocol maydeliver bitmaps, which define where a pixel appears on a display andwhat color the pixel should be, by encoding the bitmaps on a remote host(e.g., application server 114) and then streaming the data to a secureportal client module 130, as detailed below with respect to FIGS. 3 and4. For example, application server 114 may compress and encrypt thevideo and audio signal containing the application prior to sending theapplication to the vehicle 120. Accordingly, the application may behosted on application server 114 at ground station 110. The applicationitself and/or images or at least pixels of the application and itscontents may be streamed to vehicle 120 in real-time and an operator ofthe vehicle 120 may interact with the application to obtain informationcontent, as detailed further below.

Vehicle 120 may communicate with application server 114 via network 105to receive a display of the application, video signal, and/or browserand information content. Vehicle 120 may include any vehicle capable ofconnecting to a network, such as network 105, for receiving anddisplaying information content. For example, vehicle 120 may include anaircraft (e.g., airplanes, helicopters, etc.). However, it is understoodthat vehicle 120 may include spacecraft, motor vehicles (e.g.,motorcycles, cars, trucks, buses, etc.), railed vehicles (e.g., trains,trams, etc.), watercraft (e.g., ships, boats, submarines, etc.), and/oramphibious vehicles (e.g., hovercraft, screw-propelled vehicles, etc.).Vehicle 120 may receive images or at least pixels of a display of theapplication, video signal, and/or browser through network 105 and theapplication, video signal, and/or browser may be displayed on a display121 of the vehicle 120, as detailed further below.

FIG. 2 depicts a network architecture 200 for displaying a remotelyexecuted application on a display 121 of a vehicle 120, according toembodiments of the present disclosure. As shown in FIG. 2, vehicle 120may include an onboard display 121, input device 122, a graphics module123, a secure portal enabled video router 124, and a modem-router 125.Modem-router 125 may communicate with application server 114 via network105. Modem-router 125 may include, for example, an aircraft data gateway(ADG), satellite communications terminals, or the like, for wirelesslytransferring data on and off vehicle 120. However, modem-router 125 mayinclude any modem and/or router onboard vehicle 120 for communicatingwith application server 114. Video router 124 may receive one or morevideo signals from one or more onboard video sources 126, such as one ormore cameras. The video sources 126 may be located at various locationson vehicle 120 and/or may be located offboard vehicle 120 (e.g., at anairport, at ground station 110, or any other location offboard vehicle120). For example, vehicle 120 may include a cockpit camera, a tailcamera, wing cameras, cabin cameras, or cameras located at any otherlocation on vehicle 120. It is understood that vehicle 120 may includeany number of video sources 126 positioned at any location on and/or invehicle 120.

As further shown in FIG. 2, video router 124 may selectively send theone or more video signals from the one or more video sources 126 tographics module 123. Graphics module 123 may be part of a hardwarecabinet and/or may be located directly within display 121. The cabinetmay include modules for computing, database storage, input/output,network communication, and power supply. Vehicle 120 may include one ormore cabinets with one or more graphics modules 123. Graphics module 123may include a graphics card and/or a sound card for displaying the oneor more video signals on display 121. The video signals may also includeaudio signals as well. For example, the audio signals may be receivedfrom a microphone or similar audio capturing device.

The display 121 may be a forward display located in an operator area ofvehicle 120. For example, the display 121 may be located in a cockpit ofan aircraft, a bridge of a ship, a car dashboard, or the like. However,display 121 may be located anywhere in vehicle 120 and may include anytype of display in vehicle 120. For example, display 121 may include atouchscreen interface unit display, a satellite data unit display, orthe like. Further, it is understood that display 121 may include adisplay integrated into the components of vehicle 120 and/or may includea display that is separate from the vehicle 120 components, such as anelectronic flight bag (EFB), tablet device, mobile device, or the like.

A user, such as the operator of the vehicle 120, may select a videosignal to be displayed on display 121 via user input on input device122. Input device 122 may include, for example, a cursor, a keyboard, atouch screen, physical or digital buttons and/or switches, or the like.The video router 124 may receive the user input from input device 122via graphics module 123. It is understood that input device 122 may feeddirectly into display 121 or any other component and may include anynumber of input devices 122. The user input may indicate a selection ofone or more video signals to be displayed on display 121. Video router124 may send the selected one or more video signals to graphics module123 to display 121 the selected video signals on display 121. It isunderstood that the video signals may include video signals from thevideo sources 126 onboard vehicle 120 and/or may include video signalsfrom video sources 126 offboard vehicle 120.

In the exemplary embodiment, video router 124 may also receive a displayof the application (e.g., a browser or other window) and/or a videosignal from an offboard video source 126 from application server 114 fordisplaying the application and/or video on display 121. For example,video router 124 may be in communication with a secure portal clientmodule 130 (shown in FIGS. 3 and 4) for receiving a video signaldisplaying images or at least pixels of the application such that theapplication and its contents may be displayed on the display 121, asdetailed further below. Video router 124 may communicate withmodem-router 125 via, for example, user datagram protocol (UDP),transmission control protocol (TCP), or the like, to receive theapplication and/or video signal from application server 114 throughnetwork 105.

FIG. 3 depicts a block diagram of an exemplary secure portal clientmodule 130, according to one embodiment. FIG. 4 depicts a block diagramof the exemplary secure portal client module 130, according to anotherembodiment. In the discussion that follows, reference will be made toboth FIGS. 3 and 4. As shown in FIGS. 3 and 4, video router 124 mayinclude one or more combiners 131 for combining the one or more videosignals from video sources 126 and a video signal from a maintenancecomputer and/or another router. For example, the combiners 131 mayreceive each of the one or more video signals, combine the received oneor more video signals, and output the selected video signals to graphicsmodule 123 through outputs 132 for displaying the selected video signalson display 121. Video router 124 may also include a configurableintegrated circuit (e.g., a processor 133), such as a field-programmablegate array (FPGA), for enabling a user to program conditional logic forvideo router 124. For example, the logic may include instructions foroutputting a selected video signal based on the user input. Processor133 may also encode and/or decode information to and/or from the remoteservers (e.g., web server 112 and/or application server 114) and mayprovide interfaces to other systems.

Client module 130 may be included in video router 124 (FIG. 3) or may beincluded as a separate hardware component, such as a secure portalclient unit 134 (FIG. 4) onboard vehicle 120. Client module 130 may beimplemented and/or executed by one or more processors, such as processor620, detailed with respect to FIG. 6 below.

As further shown in FIGS. 3 and 4, client module 130 may include audioinput, audio output, and auxiliary outputs. Client module 130 may alsoinclude a port, such as a USB port, for connecting to (e.g., physicallythrough cables and/or wirelessly), and communicating with, the inputdevice 122 for receiving user input (e.g., to select a video signal fordisplay and/or interacting with, and controlling, the application). Acontrol outputs port may be in communication with combiners 131 forsending a selection from the user input to the one or more combiners131. The control outputs port may also be in communication with acontrol bus to enable remote operations on vehicle 120 from the remoteservers (e.g., set off an alarm if the remote servers detect an intruderon a video input originating from vehicle 120). Client module 130 may bein communication with application server 114 via modem-router 125 forreceiving the application through network 105. For example, clientmodule 130 may communicate with modem-router 125 via UDP/IP (or anyother type of communication connection) and may receive the compressedand/or encrypted video signal containing the application. Client module130 may include a PCoIP decoder for decrypting the video signal. Theclient module 130 may include a video output port and a video inputport. The application may be sent to the combiners 131 through the videooutput port and the user may select the application using input device122 to display the application on display 121. After the application isdisplayed on display 121, the user may interact with the application viainput device 122 to control the application and receive desiredinformation content (e.g., maps, charts, weather, NOTAMs, projections,what-if scenarios, travel plans, adjustments, performance calculations,3-dimensional previews of approaches, access to live airport cameras,special mission information, or map layers, etc.).

Client module 130 may also receive the one or more video signals fromthe video sources 126 and/or a maintenance computer through video inputport. The client module 130 may send select video signals to the groundstation 110 through network 105 via modem-router 125. For example,client module 130 may receive a selection of video signals from a userat ground station 110 via a remote selection and may send the selectedvideo signals to the ground station 110. Thus, client module 130 mayenable video signals from video sources 126 (or a maintenance computer)onboard vehicle 120 to be displayed on display 121 and/or sent to groundstation 110, and may also enable the application and/or video signalsfrom video sources offboard vehicle 121 to be displayed on display 121.

FIG. 5 depicts a flowchart of a method 500 for displaying a remotelyexecuted application on a display of a vehicle. In an initial step 505,the one or more processors (e.g., processor 620) executing client module130 may receive one or more video signals from one or more video sources126 onboard vehicle 120.

In step 510, the one or more processors may receive, at client module130, a video signal including an image or display of the applicationexecuting on a remote server (e.g., application server 114) throughnetwork 105. The one or more processors may likewise receive, at clientmodule 130, a video signal from an offboard video source fromapplication server 114 through network 105. The video signal includingthe image or display of the application and/or from the offboard videosource may be received via a remote display protocol, such as PCoIP. Forexample, the video signal including the application (e.g., includingvideo and/or audio) may be compressed and encrypted by applicationserver 114 at ground station 110, and sent to client module 130 throughnetwork 105 via modem-router 125. Client module 130 may decompress anddecrypt the video signal including the remotely executed application.Accordingly, client module 130 may receive the image or display of theapplication similar to a remote desktop. The application may includeinformation related to the trip of the vehicle 120 (e.g., maps, charts,weather, NOTAMs, projections, what-if scenarios, travel plans, travelplan adjustments, performance calculations, 3-dimensional previews ofapproaches, access to live airport cameras, special mission information,or map layers).

In step 515, the one or more processors may combine, via video router124, the received one or more video signals from the video sources 126and the video signal including the application executing on applicationserver 114. The one or more processors may also combine, via videorouter 124, the received one or more video signals form the one or morevideo sources 126 onboard the vehicle and the received one or more videosignals from the one or more offboard video sources 126.

In step 520, the one or more processors may selectively display thevideo signal including the application executing on application server114 on display 121. For example, the one or more processors may receivea selection of one or more of the video signals from a user input anddisplay the selected video signals on the display 121. The one or moreprocessors may also selectively display on the display 121 at least oneof the one or more video signals from the one or more offboard videosources 126.

In some embodiments, the one or more processors may also receive userinput from a user (e.g., input device 122) and control the applicationexecuting on the remote server based on the received user input. Forexample, the one or more processors may display information related to atrip of the vehicle on the display 121 through the application. Thus,the user (e.g., pilot or crew of the vehicle) may interact with, andcontrol, the application executing on the remote server. The one or moreprocessors may also display a video signal from an offboard video source126 on the display 121.

In some embodiments, the one or more processors may also send at leastone of the video signals form the video sources 126 to the remote server(e.g., at ground station 110). For example, the one or more processorsmay receive a remote selection of one or more of the video signals andmay send the selected video signals to the ground station 110.

FIG. 6 depicts a high-level functional block diagram of an exemplarycomputer device or system, in which embodiments of the presentdisclosure, or portions thereof, may be implemented, e.g., ascomputer-readable code. For example, each of the exemplary systems, userinterfaces and methods described above with respect to FIGS. 1-5 can beimplemented in device 600 using hardware, software, firmware, tangiblecomputer readable media having instructions stored thereon, or acombination thereof and may be implemented in one or more computersystems or other processing systems. Hardware, software, or anycombination of such may implement each of the exemplary systems, userinterfaces, and methods described above with respect to FIGS. 1-5.

If programmable logic is used, such logic may execute on a commerciallyavailable processing platform or a special purpose device. One ofordinary skill in the art may appreciate that embodiments of thedisclosed subject matter can be practiced with various computer systemconfigurations, including multi-core multiprocessor systems,minicomputers, mainframe computers, computer linked or clustered withdistributed functions, as well as pervasive or miniature computers thatmay be embedded into virtually any device.

For instance, at least one processor device and a memory may be used toimplement the above-described embodiments. A processor device may be asingle processor, a plurality of processors, or combinations thereof.Processor devices may have one or more processor “cores.”

Various embodiments of the present disclosure, as described above in theexamples of FIGS. 1-5 may be implemented using device 600. After readingthis description, it will become apparent to a person skilled in therelevant art how to implement embodiments of the present disclosureusing other computer systems and/or computer architectures. Althoughoperations may be described as a sequential process, some of theoperations may in fact be performed in parallel, concurrently, and/or ina distributed environment, and with program code stored locally orremotely for access by single or multi-processor machines. In addition,in some embodiments the order of operations may be rearranged withoutdeparting from the spirit of the disclosed subject matter.

As shown in FIG. 6, device 600 may include a central processing unit(CPU) 620. CPU 620 may be any type of processor device including, forexample, any type of special purpose or a general-purpose microprocessordevice. As will be appreciated by persons skilled in the relevant art,CPU 620 also may be a single processor in a multi-core/multiprocessorsystem, such system operating alone, or in a cluster of computingdevices operating in a cluster or server farm. CPU 620 may be connectedto a data communication infrastructure 610, for example, a bus, messagequeue, network, or multi-core message-passing scheme.

Device 600 may also include a main memory 640, for example, randomaccess memory (RAM), and may also include a secondary memory 630.Secondary memory 630, e.g., a read-only memory (ROM), may be, forexample, a hard disk drive or a removable storage drive. Such aremovable storage drive may comprise, for example, a floppy disk drive,a magnetic tape drive, an optical disk drive, a flash memory, or thelike. The removable storage drive in this example reads from and/orwrites to a removable storage unit in a well-known manner. The removablestorage unit may comprise a floppy disk, magnetic tape, optical disk,etc., which is read by and written to by the removable storage drive. Aswill be appreciated by persons skilled in the relevant art, such aremovable storage unit generally includes a computer usable storagemedium having stored therein computer software and/or data.

In alternative implementations, secondary memory 630 may include othersimilar means for allowing computer programs or other instructions to beloaded into device 600. Examples of such means may include a programcartridge and cartridge interface (such as that found in video gamedevices), a removable memory chip (such as an EPROM, or PROM) andassociated socket, and other removable storage units and interfaces,which allow software and data to be transferred from a removable storageunit to device 600.

Device 600 may also include a communications interface (“COM”) 660.Communications interface 660 allows software and data to be transferredbetween device 600 and external devices. Communications interface 660may include a modem, a network interface (such as an Ethernet card), acommunications port, a PCMCIA slot and card, or the like. Software anddata transferred via communications interface 660 may be in the form ofsignals, which may be electronic, electromagnetic, optical, or othersignals capable of being received by communications interface 660. Thesesignals may be provided to communications interface 660 via acommunications path of device 600, which may be implemented using, forexample, wire or cable, fiber optics, a phone line, a cellular phonelink, an RF link or other communications channels.

The hardware elements, operating systems and programming languages ofsuch equipment are conventional in nature, and it is presumed that thoseskilled in the art are adequately familiar therewith. Device 600 alsomay include input and output ports 650 to connect with input and outputdevices such as keyboards, mice, touchscreens, monitors, displays, etc.Of course, the various server functions may be implemented in adistributed fashion on a number of similar platforms, to distribute theprocessing load. Alternatively, the servers may be implemented byappropriate programming of one computer hardware platform.

The systems, apparatuses, devices, and methods disclosed herein aredescribed in detail by way of examples and with reference to thefigures. The examples discussed herein are examples only and areprovided to assist in the explanation of the apparatuses, devices,systems, and methods described herein. None of the features orcomponents shown in the drawings or discussed below should be taken asmandatory for any specific implementation of any of these theapparatuses, devices, systems, or methods unless specifically designatedas mandatory. For ease of reading and clarity, certain components,modules, or methods may be described solely in connection with aspecific figure. In this disclosure, any identification of specifictechniques, arrangements, etc. are either related to a specific examplepresented or are merely a general description of such a technique,arrangement, etc. Identifications of specific details or examples arenot intended to be, and should not be, construed as mandatory orlimiting unless specifically designated as such. Any failure tospecifically describe a combination or sub-combination of componentsshould not be understood as an indication that any combination orsub-combination is not possible. It will be appreciated thatmodifications to disclosed and described examples, arrangements,configurations, components, elements, apparatuses, devices, systems,methods, etc. can be made and may be desired for a specific application.Also, for any methods described, regardless of whether the method isdescribed in conjunction with a flow diagram, it should be understoodthat unless otherwise specified or required by context, any explicit orimplicit ordering of steps performed in the execution of a method doesnot imply that those steps must be performed in the order presented butinstead may be performed in a different order or in parallel.

Throughout this disclosure, references to components or modulesgenerally refer to items that logically can be grouped together toperform a function or group of related functions. Like referencenumerals are generally intended to refer to the same or similarcomponents. Components and modules can be implemented in software,hardware, or a combination of software and hardware. The term “software”is used expansively to include not only executable code, for examplemachine-executable or machine-interpretable instructions, but also datastructures, data stores and computing instructions stored in anysuitable electronic format, including firmware, and embedded software.The terms “information” and “data” are used expansively and includes awide variety of electronic information, including executable code;content such as text, video data, and audio data, among others; andvarious codes or flags. The terms “information,” “data,” and “content”are sometimes used interchangeably when permitted by context.

It is intended that the specification and examples be considered asexemplary only, with a true scope and spirit of the disclosure beingindicated by the following claims.

What is claimed is:
 1. A computer-implemented method for displaying aremotely executed application on a display of a vehicle, the methodcomprising: receiving, by one or more processors, one or more videosignals from one or more video sources onboard the vehicle; receiving,by the one or more processors, at a client module, a video signalincluding an image or display of the application executing on a remoteserver through a network; combining, by the one or more processors, viaa video router, the received one or more video signals from the one ormore video sources onboard the vehicle and the video signal includingthe image or display of the application executing on the remote server;and selectively displaying, by the one or more processors, on a displayof the vehicle, the video signal including the image or display of theapplication executing on the remote server.
 2. The method of claim 1,further comprising: receiving, by the one or more processors, at theclient module, one or more video signals from one or more offboard videosources; combining, by the one or more processors, via the video router,the received one or more video signals from the one or more videosources onboard the vehicle and the received one or more video signalsfrom the one or more offboard video sources; and selectively displaying,by the one or more processors, on the display of the vehicle, at leastone of the one or more video signals from the one or more offboard videosources or the one or more video signals from the one or more videosources onboard the vehicle.
 3. The method of claim 1, furthercomprising: receiving, by the one or more processors, user input from auser; and controlling, by the one or more processors, the applicationexecuting on the remote server based on the received user input.
 4. Themethod of claim 3, wherein the controlling, by the one or moreprocessors, the application executing on the remote server based on thereceived user input includes: displaying, by the one or more processors,through the application on the display, information related to a trip ofthe vehicle.
 5. The method of claim 1, further comprising: sending, bythe one or more processors, through the network, at least one of the oneor more video signals from the one or more video sources onboard thevehicle to the remote server.
 6. The method of claim 1, wherein theselectively displaying, by the one or more processors, on a display ofthe vehicle, the video signal including the image or display of theapplication executing on the remote server includes: receiving, by theone or more processors, a selection of one or more of the video signalsfrom a user input; and displaying, by the one or more processors, theselection of the one or more video signals on the display of thevehicle.
 7. The method of claim 1, wherein the client module is includedin the video router.
 8. The method of claim 1, wherein the client moduleincludes a hardware component in communication with the video router. 9.The method of claim 1, wherein the remote server is located at a groundstation.
 10. The method of claim 1, wherein the vehicle is an aircraftand the display is in a cockpit of the aircraft.
 11. A system fordisplaying a remotely executed application on a display of a vehicle,comprising: a vehicle; one or more video sources located onboard thevehicle; a display onboard the vehicle; a remote server located offboardthe vehicle; a video router onboard the vehicle and in communicationwith the display; and one or more processors in communication with thevideo router, the one or more processors configured to: receive one ormore video signals from the one or more video sources located onboardthe vehicle; receive, at a video module, a video signal including animage or display of an application executing on the remote serverthrough a network; combine, via the video router, the received one ormore video signals from the one or more video sources located onboardthe vehicle and the video signal including the image or display of theapplication executing on the remote server; and selectively display onthe display of the vehicle, the video signal including the image ordisplay of the application executing on the remote server.
 12. Thesystem of claim 11, wherein the one or more processors are furtherconfigured to: receive, at the client module, one or more video signalsfrom one or more offboard video sources; combine, via the video router,the received one or more video signals from the one or more videosources onboard the vehicle and the received one or more video signalsfrom the one or more offboard video sources; and selectively display onthe display of the vehicle, at least one of the one or more videosignals from the one or more offboard video sources or the one or morevideo signals from the one or more video sources onboard the vehicle.13. The system of claim 11, wherein the one or more processors arefurther configured to: receive user input from a user; and control theapplication executing on the remote server based on the received userinput.
 14. The system of claim 13, wherein the controlling theapplication executing on the remote server based on the received userinput includes: displaying, through the application on the display,information related to a trip of the vehicle.
 15. The system of claim11, wherein the one or more processors are further configured to: send,through the network, at least one of the one or more video signals fromthe one or more video sources onboard the vehicle to the remote server.16. The system of claim 11, wherein the selectively displaying, on thedisplay of the vehicle, the video signal including the image or displayof the application executing on the remote server includes: receiving aselection of one or more of the video signals from a user input; anddisplaying the selection of the one or more video signals on the displayof the vehicle.
 17. The system of claim 11, wherein the client module isincluded in the video router.
 18. The system of claim 11, wherein theclient module includes a hardware component in communication with thevideo router.
 19. The method of claim 11, wherein the remote server islocated at a ground station.
 20. A computer-implemented method fordisplaying a remotely executed application on a display of a vehicle,comprising: receiving, by one or more processors, one or more videosignals from one or more video sources; receiving, by the one or moreprocessors, at a client module, a video signal including an image ordisplay of the application executing on a remote server through anetwork; combining, by the one or more processors, via a video router,the received one or more video signals from the one or more videosources and the video signal including the image or display of theapplication executing on the remote server; receiving, by the one ormore processors, a selection of one or more of the video signals from afirst user input; based on the received selection, displaying, by theone or more processors, on a display of the vehicle, the video signalincluding the image or display of the application executing on theremote server; receiving, by the one or more processors, a second userinput from a user; and controlling, by the one or more processors, theapplication executing on the remote server based on the received userinput.